package com.letian.info.domain;

import java.util.List;

import com.letian.common.core.domain.model.UsersVO;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.letian.common.annotation.Excel;
import com.letian.common.core.domain.BaseEntity;

/**
 * 文章信息对象 info_article
 *
 * @author bmz
 * @date 2023-04-05
 */
public class InfoArticle extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 文章ID
     */
    private Long articleId;

    /**
     * 作者ID
     */
    @Excel(name = "作者账号")
    private String authorName;

    /**
     * 作者名称
     */
    @Excel(name = "作者昵称")
    private String authorNickName;

    /**
     * 作者名称
     */
    @Excel(name = "作者头像")
    private String authorAvatar;

    /**
     * 作者信息
     */
    private UsersVO authorInfo;

    /**
     * 标题
     */
    @Excel(name = "标题")
    private String title;

    /**
     * 简介
     */
    @Excel(name = "简介")
    private String description;

    /**
     * 浏览数量
     */
    @Excel(name = "浏览数量")
    private Long browseCount;

    /**
     * 收藏数量
     */
    @Excel(name = "收藏数量")
    private Long collectionCount;

    /**
     * 评论数量
     */
    @Excel(name = "评论数量")
    private Long commentsCount;

    /**
     * 分类
     */
    @Excel(name = "来源名")
    private String sourceName;

    /**
     * 分类
     */
    @Excel(name = "分类")
    private String classify;

    /**
     * 点赞数量
     */
    @Excel(name = "点赞数量")
    private Integer thumbsUpCount;

    /**
     * 文章内容
     */
    @Excel(name = "文章内容")
    private String content;

    /**
     * 封面
     */
    @Excel(name = "封面")
    private String cover;

    /**
     * 展示模式
     */
    @Excel(name = "展示模式")
    private String mode;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 评论信息信息
     */
    private List<InfoComment> infoCommentList;

    /**
     * 是否收藏文章
     */
    private Integer isLike;

    /**
     * 是否关注作者
     */
    private Integer isAuthorLike;

    /**
     * 是否点赞
     */
    private Integer isThumbsUp;

    public void setArticleId(Long articleId) {
        this.articleId = articleId;
    }

    public Long getArticleId() {
        return articleId;
    }

    public void setAuthorName(String authorName) {
        this.authorName = authorName;
    }

    public String getAuthorName() {
        return authorName;
    }

    public void setAuthorNickName(String authorNickName) {
        this.authorNickName = authorNickName;
    }

    public String getAuthorNickName() {
        return authorNickName;
    }

    public String getAuthorAvatar() {
        return authorAvatar;
    }

    public void setAuthorAvatar(String authorAvatar) {
        this.authorAvatar = authorAvatar;
    }

    public UsersVO getAuthorInfo() {
        return authorInfo;
    }

    public void setAuthorInfo(UsersVO authorInfo) {
        this.authorInfo = authorInfo;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setBrowseCount(Long browseCount) {
        this.browseCount = browseCount;
    }

    public Long getBrowseCount() {
        return browseCount;
    }

    public void setCollectionCount(Long collectionCount) {
        this.collectionCount = collectionCount;
    }

    public Long getCollectionCount() {
        return collectionCount;
    }

    public void setCommentsCount(Long commentsCount) {
        this.commentsCount = commentsCount;
    }

    public Long getCommentsCount() {
        return commentsCount;
    }

    public void setSourceName(String sourceName) {
        this.sourceName = sourceName;
    }

    public String getSourceName() {
        return sourceName;
    }

    public void setClassify(String classify) {
        this.classify = classify;
    }

    public String getClassify() {
        return classify;
    }

    public void setThumbsUpCount(Integer thumbsUpCount) {
        this.thumbsUpCount = thumbsUpCount;
    }

    public Integer getThumbsUpCount() {
        return thumbsUpCount;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setCover(String cover) {
        this.cover = cover;
    }

    public String getCover() {
        return cover;
    }

    public void setMode(String mode) {
        this.mode = mode;
    }

    public String getMode() {
        return mode;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setIsLike(Integer isLike) {
        this.isLike = isLike;
    }

    public Integer getIsLike() {
        return isLike;
    }

    public void setIsAuthorLike(Integer isAuthorLike) {
        this.isAuthorLike = isAuthorLike;
    }

    public Integer getIsAuthorLike() {
        return isAuthorLike;
    }

    public void setIsThumbsUp(Integer isThumbsUp) {
        this.isThumbsUp = isThumbsUp;
    }

    public Integer getIsThumbsUp() {
        return isThumbsUp;
    }

    public List<InfoComment> getInfoCommentList() {
        return infoCommentList;
    }

    public void setInfoCommentList(List<InfoComment> infoCommentList) {
        this.infoCommentList = infoCommentList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("articleId", getArticleId())
                .append("authorName", getAuthorName())
                .append("title", getTitle())
                .append("browseCount", getBrowseCount())
                .append("collectionCount", getCollectionCount())
                .append("commentsCount", getCommentsCount())
                .append("sourceName", getSourceName())
                .append("classify", getClassify())
                .append("thumbsUpCount", getThumbsUpCount())
                .append("content", getContent())
                .append("cover", getCover())
                .append("mode", getMode())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("infoCommentList", getInfoCommentList())
                .toString();
    }
}
